package Creche.Donnees;

import java.util.Calendar;
import java.util.Date;

import javax.jdo.annotations.Inheritance;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;

/*
 * Donn�e particuli�re car elle est perissable au bout d'une cerrtaine dur�e
 */
@SuppressWarnings("serial")
@PersistenceCapable
@Inheritance(customStrategy = "complete-table")
public class Actualite extends Donnee {

	@Persistent
	private Date duree;
	
	
	/**
	 * Construction de d'actualit� on renseignera les attributs donn�es 
	 * plus la dur�e de vie de la donn�e par rapport au jour de sa cr�ation
	 * @param label cf Donnee
	 * @param valeur cd Donnee
	 * @param duree dur�e de vie de la donn�e en jour
	 */
	public Actualite( String label, String valeur, int duree){
		super(label,valeur);
		Calendar jour = Calendar.getInstance();
		jour.add(Calendar.DAY_OF_MONTH, duree);
		this.duree = jour.getTime();
	}
	
	/**
	 * Savoir si la dur�e de vie de l'actualit� est pass�
	 * On comparera la date de fin de l'actualit� avec celle du jour courrant
	 * affin de voir si elle est sup�rieure (p�rim�e dans ce cas) ou inf�rieure
	 * @return true si la date de fin de la dur�e est pass�e
	 */
	public boolean estPassee() {
		Date jour = new Date();
		return duree.compareTo(jour) < 0?true:false;
	}
	
	/**
	 * Obtention du Label de l'actualit�
	 */
	public String getLabel() {
		return super.getLabel();
	}
	
	/**
	 * Obtention de la valeur de l'actualit�
	 */
	public String getVal(){
		return super.getVal();
	}
	
	public Date getDate() {
		return duree;
	}
}
